﻿using Jayden.Dll.Cards.Poker.Enums;
using Jayden.Dll.Core.Persistence;
using Jayden.Dll.Core.Persistence.Attributes;

namespace Jayden.Dll.Cards.Poker
{
	[Table]
	public class TexasHoldemHandAction : ObjectBase
	{
		private long m_HandId;
		private uint m_ActionNumber;
		private string m_PlayerName;
		private PokerActionType m_ActionType;
		private ulong m_Amount;
		private PokerStreetType m_Street;

		public TexasHoldemHandAction(UnitOfWork uow)
			: base(uow, 0)
		{

		}

		[Field(PrimaryKey = true, AutoIncrement = true)]
		public long TexasHoldemHandActionId { get { return (long)ObjectId[0]; } set { ObjectId[0] = value; } }
		[Field]
		public long HandId { get { return m_HandId; } set { m_HandId = value; } }
		[Field]
		public uint ActionNumber { get { return m_ActionNumber; } set { m_ActionNumber = value; } }
		[Field]
		public string PlayerName { get { return m_PlayerName; } set { m_PlayerName = value; } }
		[Field]
		public PokerActionType ActionType { get { return m_ActionType; } set { m_ActionType = value; } }
		[Field]
		public ulong Amount { get { return m_Amount; } set { m_Amount = value; } }
		[Field]
		public PokerStreetType Street { get { return m_Street; } set { m_Street = value; } }

	}
}
